Being a newbie with ATS, I am finding the following:
- The books are good, but not searchable and would love a pdf, really really
- The books would benefit from extension if the goal is to grow the user
base and let people self serve wrt learning
- Overloading is very confusing for a learner, as it makes it hard to read
aloud
- Kinds are confusing, I would love a chapter int he book to walk through
some numeric type from A-Z to make all these definitions more clear
- Error messages from C compiler are harder to deal with than the ATS
compiler
- Lack of transparency of what happens in C is a bit scary when it comes to
potential promotions and casting
But:
- My embedded code does not have pointer bugs or overrun any size
boundaries, which is a big deal when it happens
- My embedded code runs almost as fast as a previous C version, probably
just excepting any copying from casting that I don’t yet understand if and
when it happens
- Dependent types has saved me from a bug at least twice so far and makes
intent very clear and I think a maintainer is less likely to break my code
- It allows me to think functionally with embedded code, very very nice,
and let’s me sleep well
- The FFI is so easy without a bunch of marshaling code, big big win for me
- Ability to get help getting over initial mistakes and misunderstands is
golden
Overall, my commercial embedded work is a success. It will be interesting
to see how code reviews go with C programmers that are domain experts in my
area.
I hope someone will run a workshop at ICFP next year. I think it would be
very valuable. I may propose a topic for the commercial use program that
demonstrates use of ATS in a micro with a Haskell GUI talking over USB to
it. I just have to get some permissions from my company on what I can and
cannot reveal, but I have a fully working application.
Basically, I need ATS to thrive to use it commercially, as our products
live 10+ years. That said, I think the embedded world needs a new language
to replace C, and my experience so far is this is a very good alternative.
I like that I can move up and down processor levels and pick and choose
features. So on Atmega, no boxed types, and the compiler tells me when I
break that rule, and on something bigger I can malloc, and and on even
bigger GC, etc.
But like all new things, infrastructure sometimes matters more technical
greatness. Meaning, documentation, learning opportunities, community, and
dare I say, marketing
Anyway, cheers to all, and especially Hongwei Xi for the help and
toleration of dumb questions. Next trip to Boston and I’m definitely taking
him to dinner!On Wednesday, October 28, 2015 at 11:17:04 PM UTC-6, Barry Schwartz wrote:
Hongwei Xi <gmh...@gmail.com <javascript:>> skribis:
My rule of thumb is that one should be able to read out loud one’s code.
My rule of thumb is that aliases are bad. It’s just a rule of thumb,
though.