[feature] Complex type system
Vurv78 opened this issue · 0 comments
Vurv78 commented
Is your feature request related to a problem? Please describe.
Objects don't exist in the type system, and classes cannot exist without a complex type system.
Right now types are strings. Either the "typename"
, or "function(ptype, ptype2):ret"
for function signatures.
Describe the solution you'd like
The type class to have a bunch of methods and fields to define whether it is variadic, an alias, an array (xyz[]) type, optional / nullable, an enum type (number | string) or a raw enum "foo" | "bar".
This would be an internal change, so it wouldn't add something like this:
type foo = number;
type bar = foo | string;
Additional context
This is necessary to resolve #13