* Primitive Types * Common * bool * char * int (= int32) * uint (= uint32) * float (= float64) * decimal * number (= decimal, change with -number: option) * dynamic * Explicit Sizes * int8, int16, int32, int64 * uint8, uint16, uint32, uint64 * PrimitiveTypeMembers * Complex Types * Class * Single inheritance * Heap-based * Popular classes * Object, String, !StringBuilder, Exception * List, Dictionary, Set * Stack, Queue * !TextWriter, !TextReader, !StringWriter * Struct * No inheritance (other than Object) * Value-based * Popular structs * !DateTime, Color (System.Drawing) * Interface * Multipile inheritance * No code implementation * Popular interfaces * IEnumerable, IEnumerable (but use T* instead; see streams below) * IComparable, IComparable * Nilable Type * foo? - can be "foo" or "nil" * applies to all types * "dynamic" implies "dynamic?" * See also * [http://cobra-language.com/forums/viewtopic.php?f=4&t=291 Discussion on types] TODO: streams, arrays, passthrough, vari, typetype, how to get the type, local var type inference, greatest common denominator