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.

Reply via email to