Interesting concept. Point 3 here is however really worrisome.
> Your IfLoop programs are always runnable, at any time. IfLoop programs even has no runtime errors. If you get a property of a null object or get an array element with an index out of range, a null value will be returned. If you use the null value as a Number, it will be viewed as 0. If you use the null value as a Boolean, it will be viewed as false. If you use the null value as a String, it will be viewed as a blank string.
That is not good. Programs will just show unexpected behaviour. This is exactly what is terrible in PHP-land. You should not autocast values to other types.
> Your IfLoop programs are always runnable, at any time. IfLoop programs even has no runtime errors. If you get a property of a null object or get an array element with an index out of range, a null value will be returned. If you use the null value as a Number, it will be viewed as 0. If you use the null value as a Boolean, it will be viewed as false. If you use the null value as a String, it will be viewed as a blank string.
That is not good. Programs will just show unexpected behaviour. This is exactly what is terrible in PHP-land. You should not autocast values to other types.
http://www.tapirgames.com/blog/ifloop-programming-language