My one example, serialization of nested records from a tlist of @(string,t0ype), turned out to not need append. Anyhow, that's blocked for now, since I don't think you can reflect a template-argument string literal to the value level.
But more generally, a convenient way to write functions between datasorts would be a large step towards very powerful metaprogramming in ATS. With a few more features, ATS could have a very clean and conceptually simple metaprogramming approach: templates are interpreters for datasorts. Just like a value-level interpreter, it would be nice to separate generation and evaluation stages. People wrote Boost Hana in C++ to do all kinds of computation on type-level data structures, despite how painful C++ metaprogramming is. https://www.boost.org/doc/libs/1_61_0/libs/hana/doc/html/index.html ATS is not that far from being Boost.Hana on steroids. The typechecking is already there, and is SO. MUCH. BETTER. than the mess you get when trying to write untyped purely functional programs in C++ templates. For example, if you pass a bool to a template that expects a tlist, the compiler tells you exactly what happened. -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscr...@googlegroups.com. To post to this group, send email to ats-lang-users@googlegroups.com. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/a6a26a70-7b0c-4465-8e0c-f20f2fdba6e0%40googlegroups.com.