Rope is my attempt to design a programming language. The name comes from part of the design philosophy - to give the programmer "enough rope" to do whatever they like, including hang themselves. Thus the aim is to be very expressive but also to make it clear how different expressions are implemented so that the programmer has information to guide their choice of rope. While we avoid saying "You cannot do that", we might make some things a bit difficult or ugly so that only the programmer who really wants to do it that way will try. A program file can container "pragmas" which state that certain language features may, or may not be, used. This allows the programmer to decide their level of risk. This is a bit like the multiple sorts of warnings that gcc can provide, but instead of being selected on the command line they are selected in the source code file. Rope understands the UCS and converts the source code to that format depending on the current locale. Thus any alphanum in any language, such as ελλενικ can be used in names.