I have started to improve Level language. For start I will eliminate: “begin….end” blocks. The new keyword for “begin” is “resolve”. The block is ending with the block name and semicolon. For example a “cycle” is ending with “cycle;”
Second I will create anonymous block: “aspect” that will be used to resolve one small aspect of a larger problem. This block of will replace “workflow” and will have an exception handling region.
Third, I will improve the program structure. The subroutines are called methods. I have eliminated “program” and “procedure” keywords. A method can have static attributes and local variables.
Functions are first class objects. Now you can send one function as parameter for a method and one method can produce a function. However unlike functional languages a function can’t produce another function. This is a big difference.