On Mon, Mar 23, 2015 at 11:32 AM, Shawn Landden <shawnland...@gmail.com> wrote: > 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.
Have you read about C with classes and the history around C++? C with classes was still a super-set of C in the first couple of years, only later becoming C++ when it started to become a language in its own rights. Again what is the difference between your ideas and C with classes? Thanks, Andrew >> >> 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