In any case, I don't understand how a safe language with pointers can avoid the need for *some* kind of GC.
Note that I was talking about a "type safe" subset as opposed to as stricter "safe" subset.
One can argue that Pascal was type safe even with new() / dispose() for pointers.
[Referencing a dead pointer is a runtime error, just like divide by zero]
I think his point was more that each of dynamic arrays by themselves wouldn't require
GC and the same for unions. Remember I was talking about a vague typesafe subset.
So the question is which features to remove? Rmoving pointers would certainly be under
consideration.
I think it was less useful as an introduction to programming but was just right for me!
I have heard good things about Frank Pagan's A Practical Guide to Algol 68...