… that they're private
…examples, and add an apps directory for listing all the mini-apps
This is a massive changeset - obviously bigger than we want. We're getting closet to a stable design - at that point we should expect to see more atomic patches, but for now this will simply have to be ok...
…n between statements and expressions; notably useful is the notion that at parsing time, any part of the AST that expects a value will simply expect an expression (as opposed to having the parseValue function which took a dictionary of allowed value types at that point). The resolver will now be responsible with ensuring that anything operating on an expression finds the expression to be of the expected type
…s from these class declarations
…ent follow the mouse at a specified offset. It's becoming clear that the parser is being too selective about what types of values can appear where. There should really just be statements and expressions. There are two type of statements: emit statements and handler statements. Expressions can be sub-components of statements, e.g. 4 + 5 is a composite statement of the two expressions 4 and 5, with the operator +. The resolver should be the place where we enforce what type of value can appear in what place
…tch example code to use multiple value cases
…ments in the resolver and the compiler