Function identifier lookup ========================== Types of functions: * constructors / typeident-based functions * object functions / methods * bare functions Syntax decisions: * whether to have an explicit or implicit this parameter? * typed function definitions * simplified / variant-typed function definitions * function calls Syntax with implicit `this` parameter ------------------------------------- Possible function definition syntax for typed definitions: constructor new bool shiny ... func get_item returns Item ... static compare_items Item a Item b returns bool equal ... Possible function definition syntax for simplified / variant-typed defs: constructor new shiny ... func get_item -> item ... static compare_items a b -> equal ... Possible function call syntax: func item_exists func get_item -> item # Implicit `this`-parameter # See call_vs_field_syntax.txt # (but maybe fields can be accessed by first "importing" them # via `modifies`/`accesses` block in the function decl) if item_exists return retrieve_item end end This syntax probably prevents usage of `f obj p1 p2 `... syntax for calls on other objects due to ambiguities. It probably has to to `obj.f p1 p2`... instead.