On Fri, Mar 20, 2015 at 6:36 PM, Andrew Pinski <pins...@gmail.com> wrote: > On Fri, Mar 20, 2015 at 6:05 PM, Shawn Landden <shawnland...@gmail.com> wrote: >> direct-declarator: >> ( type-qualifier[opt] type-specifier *[opt] identifier[opt] ) . >> function-definition >> >> >> call like so: >> >> >> type.foo(baz); >> typep->foo(baz); > > > Wait you are re-inventing C with classes and C++. This is still C, unlike C++. I was influenced by Go. > > Thanks, > Andrew > >> >> type automatically becomes first parameter, (when used as a function >> pointer) and as a pointer to if that was included in definition. if >> type is a typedef of void and not a pointer then parameters are passed >> the same. >> >> >> This would be implemented with function name mangling: >> >> >> __tf_type_identifier(...) >> >> >> example: >> >> >> struct foo { >> int a >> } >> >> int (struct foo *b).add(int f) { >> return b->a + f; >> } >> >> int main(void) { >> >> struct foo bar; >> >> >> baz.a = 4; >> >> return baz.add(6); >> >> } >> >> >> I have been hacking at the source, but it is far from functional. >> -- >> Liberty equality fraternity or death, >> >> Shawn Landden >> ChurchOfGit.com
-- Liberty equality fraternity or death, Shawn Landden ChurchOfGit.com