Brain Dump

  • At method level
    -Allow setting of recursion levels
    -Input and output param checks
    -complete RTTI at runtime about method name, etc
    -Shaw call Stack indented open able above with param values and times
  • Even when as IL/compiled, allow easy loading of individual code files or groups of code files into the namespace and allow custom spots like add source x @
  • Func/Class/Prop/Field are “all one in the same”
    • ctor
    • return types
    • implicit conversions
    • operators and phrases – ie push x on y and alternates for same, ie on y push x.
    • getters / setters
    • values
    • Access value by instance ref – then sub props via special ref. With implicit convertors? or other
    • inheritance
    • default value
    • null or not
    • params by name, param defaults, optional params, param lists
    • numbers – allow rounding as a function.. store only rounded….
    • multi results – auto instantiate and also allow anon types….
  • Events
  • public, protected, etc… friends and/or passwords? or allow on any force to be dynamic and only allow security restricted to block dynamic access
  • if else can do with label blocks and a default block. types can use them for methods too but need patterns…
  • need to differentiate var vs method? if so how? – only needed on assignment? Can pattern match and make assignment a method too? equations tricky….
  • Methods DONT return any more.. they put things somewhere maybe
    • pop x into new y? or somehow count this as a set? yes.. a  set…. allow as option

class AAA [
// – is a prop and a class and a func… all 3 are one. AAA.BBB is same as class AAA.BBB ? Allow such merges always.
class BBB []
]

pre and post conditions
# or ! run only if debug
type ranges and values verifications – via type

. for sibling classes

object accessor for name?
@arg / @arg[] / @arg@length – where is length? @arg.name.@index,type,etc…
@var / @var[‘name’ / 0] / length etc.
@other func stuff
@result
@debug – call count, etc….
@type.name – static info about type itself
@obj.parent – non static info about class, ie info about object
@prop. – available to methods of properties. getter, setter, initial value, etc

—————