Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
In case you're looking to explore, please, for the sake of your sanity, use this as a wrapper compiler - https://github.com/sparverius/ats-acc. It will make reading the error messages quite bearable. Also, the Google groups (https://groups.google.com/forum/#!forum/ats-lang-users) is quite active.
I have not programmed in it myself, but I have read about it and watched the presentation A (Not So Gentle) Introduction To Systems Programming In ATS. ATS is a lot closer to C than Haskell or Idris, at least for the kind of programming it is meant for. You can see ATS as a language that allows you to safely do the things you'd normally do in unsafe C (or Rust), by letting you provide an actual proof that what you're doing is OK. I don't think anyone has ever said ATS is particularly pleasant to program in, but there are some crazy people like Vanessa McHale that actually write real programs in it. I still use her polyglot tool for source code listings. It's the only "real world" ATS program I have seen.
A little self-promotion: if you're interested in learning ATS, I recently wrote a short introduction in the "Learn X in Y Minutes" style: https://github.com/mb64/learnxinyminutes-docs/blob/ats/ATS.html.markdown
Related posts
- What is the most feature-rich programming language
- Does Rust have any design mistakes?
- Why is ATS not considered in the design of modern system languages?
- ESPOL, NEWP, Mesa, Cedar, Modula-2, Modula-2+, Modula-3, Oberon, Oberon-2, Component Pascal, Active Oberon, D, C#, F#, VB, Ada, Go, Swift, just a few examples.
- What are all the situations you can't do compile time type-checking when building a programming language?