Syntax for different sections of classes ======================================== Syntax test 1 ------------- Enum: only False True Enum with record: - enum values are always implicitly of the "specific" kind. only False = new 0 "false" "no" True = new 1 "true" "yes" record int as_integer String as_truefalse String as_yesno Value type: - Or should it be called `value`? Because it could also be useful for serialization. And comparison and serialization could both be implemented by looping over run-time type information (RTTI) - Do value types with modifiable fields really make sense? The data can always be copied over (with changes) to a new object. But on the other hand, it makes sense to do it in the same way as with other kinds of objects. record comparable String name Int count! Object type: record specific Int fd Parametric type: - Should comparable/serializable/etc. typeparams be allowed? - This form is quite limited. See also generics.txt and avoiding_builtins.txt typeparams comparable K V # or: #typeparam comparable K #typeparam V record comparable SomeClass K V left SomeClass K V right K key V value Service implementation: (Neither comparable or unique) CommandMain giveme String param = input_param record Int count! = 0 Interface file: class Bool only True False class Opaque class Point record comparable Int x Int y class Counter record identity Int count! Keywords to use? ---------------- For records: record data (or just use the identity/no-identity qualifier) For no-identity qualifier: comparable copiable value anonymous dozen noidentity nonidentified nonunique indefinite unspecific For identity qualifier: identity identified unique definite referenced addressed specific