These are all great points. Thanks! My hope is that the community can and is willing to take a big part in designing and implementing upper level programming features once the core of ATS3 is ready.
Cheers! --Hongwei On Tue, Mar 20, 2018 at 5:34 PM, Andrew Knapp <andy.j.kn...@gmail.com> wrote: > After writing several thousand lines of ATS, I'd say there isn't terribly > much I'd change, honestly. A lot less than when I got started, for sure. > > What I would like to see changed: > > 1. Real module system. MixML might not be a bad source of inspiration, as > it would essentially be a better version of the ML "modules" you can fake > with includes, e.g. funmap.hats, and there's an implementation available. > Doing away with the sigil before module names would be nice. > > 2. Naming conventions in standard library changed. Less g0ofg1, i2r and so > on would be nice. I also find the abbreviations you choose to be very > difficult to read. With a real module system, it would be nice to have > shorter function names: you could get away with Array.map or A.map instead > of array_map. This way the user can choose how verbose to be about module > names. > > 3. Integrating templates with the module system. BTW embeddable templates > are my absolute favorite feature of ATS. > > 4. Accessing flat memory of sum types and some kind of analog of C++ > placement new. This would make certain things a lot safer and easier. > > 5. Real macros or very powerful metaprogramming support. I know > metaprogramming can be abused, but there are many things where I wish I had > even a customizable version of #codegen2 that I could use. D is probably a > good source of inspiration for this subject. > > 6. General cleanup of cruft and making sure features work together. > > 7. Pretty-printed error messages. > > 8. REPL, perhaps via atscc2scm and an embedded R7RS-small interpreter? > > Anyways, I've found ATS to be a real pleasure to use overall, and I trust > my code is correct a lot more than in C++. > > -- > 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/1b0f9f4f-51c3-46db-94a1-b0c91d1e4f9c% > 40googlegroups.com > <https://groups.google.com/d/msgid/ats-lang-users/1b0f9f4f-51c3-46db-94a1-b0c91d1e4f9c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CAPPSPLrzQK0vPkVw00TuKb%3DZHGYsoDRwkjQ0u97Acgnpf%3DVb-A%40mail.gmail.com.