proj-oot-ootDifficultyLevels

compiler-enforced, by source code file

partially inspired by Hypercard

" There are 5 user levels within Hypercard. The top most level, and easiest to use, is Browsing. This allows the user to navigate through Stacks and look at information but not to add or modify it. The next two levels Typing and Painting allow the user to add or modify written and graphic information. The last two levels are Authoring and Scripting. Authoring allows use of the Field and Button tools and Power Keys (short Cuts). The Scripting level allows full use of the Hypercard programming language called Hypertalk, and the use of instant commands called “Blind Typing”. " -- http://www.mactech.com/articles/mactech/Vol.03/03.10/HyperCardProgramming/index.html

in addition to making it easier for humans to read, a lower difficulty level allows better, more idiomatic translation into other languages, e.g. code with delimited continuations wont necessarily translate well into Python.

suitable for embedded

easy

(and bans everything in 'moderate', too)

moderate

custom levels are allowed