hirrolot / metalang99

Full-blown preprocessor metaprogramming
https://metalang99.readthedocs.io/en/latest/
MIT License
858 stars 24 forks source link

What's the author opnion of Adtpp #12

Closed mingodad closed 3 years ago

mingodad commented 3 years ago

Hello !

This isn't an issue but asking the author opinion on this Adtpp: lightweight efficient safe polymorphic algebraic data types for C and here is the repository that I found and seem to have the a similar goal as metalang99, I hope you have a better judgment due to been working on this problem for a while.

Cheers !

hirrolot commented 3 years ago

Hello, thank you for the paper!

The main difference is that Adtpp is a third-party tool, whereas Metalang99 & Datatype99 are built completely atop the C preprocessor. As a result, Adtpp seems to perform additional data layout optimisations (representing Nil as NULL, for example) -- Datatype99 does not. On the other hand, the advantage of my approach is that it does not involve the machinery with third-party code generators, and therefore it can be more seamlessly integrated into a code base.

Also, type polymorphism is not supported as of now, unlike Adtpp which supports it. I have plans to somehow implement type polymorphism too, working on this problem now.