Inform 7
'''Inform 7''' is a language for creating interactive fiction, with a syntax similar to English. Although it has some object-oriented features, it is primarily rule-based: most code takes the form of "rules", which are placed into rulebooks, which are invoked by the library in response to player commands and other events.
An Inform 7 program also contains a set of initially constructed objects, called the world model. These objects are organized into a hierarchy of classes (called "kinds"), although there is no method invocation; objects only contain data. The relations between objects are modeled at a high level: physical relationships such as containment (the water is in the glass) and supporting (the glass is on the table) are predefined, and new relationships such as desire (the troll wants the diamond) or lock-fitting (the bronze key fits the bronze lock) can be created.
Tasks
- 100 doors
- Arithmetic/Integer
- Array concatenation
- Associative array/Creation
- Boolean values
- Comments
- Conditional structures
- Empty program
- Enumerations
- Execute HQ9+
- Extend your language
- Find limit of recursion
- Five weekends
- FizzBuzz
- Function definition
- Higher-order functions
- Increment a numerical string
- Inheritance/Single
- Introspection
- Keyboard input/Obtain a Y or N response
- Literals/String
- Loops/For
- Loops/While
- Mandelbrot set
- Number names
- Number reversal game
- Parametric polymorphism
- Polymorphism
- Price fraction
- Quine
- RCRPG
- Random number generator (included)
- Read entire file
- Regular expressions
- Remove duplicate elements
- Repeat a string
- Sort an integer array
- Strip comments from a string
- Sum and product of an array
- Sum of squares