37 comments

[ 232 ms ] story [ 995 ms ] thread
I thought this was going to be some sort of scripting language for Applicant Tracking Systems
Some entertaining talks introducing the language, by /u/deech:

"A Tase Of ATS" at Compose Conf 2019:

https://youtu.be/ADN6B1Wk5Ts

"A (Not So Gentle) Introduction To Systems Programming In ATS" at Strange Loop 2017:

https://youtu.be/zt0OQb1DBko

The end-boss of programming languages.
Past related threads:

ATS: Why Linear Types Are the Future of Systems Programming - https://news.ycombinator.com/item?id=26191219 - Feb 2021 (1 comment)

Type-Safe Pointers in ATS - https://news.ycombinator.com/item?id=22726512 - March 2020 (8 comments)

The ATS Programming Language - https://news.ycombinator.com/item?id=19404347 - March 2019 (38 comments)

Casting in ATS - https://news.ycombinator.com/item?id=16058803 - Jan 2018 (12 comments)

The ATS Programming Language – Unleashing the Potentials of Types and Templates - https://news.ycombinator.com/item?id=10570444 - Nov 2015 (9 comments)

ATS: a dependently-typed systems programming language? - https://news.ycombinator.com/item?id=3340010 - Dec 2011 (5 comments)

Sharing Linear Resources in ATS - https://news.ycombinator.com/item?id=2487512 - April 2011 (1 comment)

Safer C Code Using ATS - https://news.ycombinator.com/item?id=1397984 - June 2010 (2 comments)

ATS - Applied Type System Programming Language - https://news.ycombinator.com/item?id=1357229 - May 2010 (3 comments)

ATS programming language - https://news.ycombinator.com/item?id=449453 - Jan 2009 (1 comment)

these are interesting. thanks.
Vanessa McHale has a great set of blog posts about ATS. They touch on technical aspects of the language and it’s type system as well as practical aspects and real-world performance of compiled programs. The list is here:

http://blog.vmchale.com/category/ATS

If you click the ‘next’ link a few times you can go through several pages to earlier posts that introduce the language.

the website looks like it was made in the 90s however don't let that fool you
and the fact that it's hosted in sourceforge
when you see "online" written as "on-line"
I often read online as “on the web” and on-line as referring to algorithms that are supposed to incrementally produce their output based on an input stream of unknown length, eg an on-line algorithm for estimating medians.
Just learned about that difference. In terms of an web-based code editor with a result panel, both definitions fit a little bit, I guess.
The design oddly makes me take it more seriously.
The web-sites I create look much like that, but that is not my goal. I would like to look modern.

Can you say what in particular makes it look like 90s? And what could be done to make it look more current?

Layers and layers of styling, all sorts of frameworks and web trinkets. I like the style of this website, it is simple and not overwhelming. It does look older but old in UI/UX doesn’t mean worse, it could mean better in many ways. However, the left banner overlaps the content and it makes reading the content on my phone nearly impossible so I guess it’s got its flaws.
I am no designer, but I would guess:

* underlined links in sidebar (we are familiar with sidebars now, we know we can click those, this looks like a page made with <frame>)

* same for top nav bar

* solid non-subtle background colors (more subtle ones or patterns these days are more common these days)

* too many font sizes

* odd intermix of rounded corners (very round!) and square ones

* unstyled textual header (if you just adopt a "visual" font for the title it will look nicer)

I don't mind it, anyway.

> * underlined links in sidebar (we are familiar with sidebars now, we know we can click those, this looks like a page made with <frame>)

please no. my parents had an internet connection since 1996, and they have SO MUCH TROUBLE with links that aren't underlined, especially on the phone. It's one of the most basic affordances of the web.

Are you sure about this? I agree this is the case for generic links, but it seems odd for the navigation ones.

Basically every site I could think of (NYT, Yahoo!, BBC, Google/GMail, HuPo, Amazon) has navbars without underline.

Even the site for "Don't Make Me Think!"[0] avoids them.

[0] https://sensible.com/dont-make-me-think/

For me the annoying part that screams "old website" in a bad way is having two column for two different contents. I'd like to have one main content and be able to zoom on it easily. Outside of that, I think the "holy grail" design (https://en.wikipedia.org/wiki/Holy_grail_(web_design)) and the muted colors are a characteristic of old web design.
IMHO, it is mainly The default styling of links (blue with underline)
I think you're right that's the main non-modern thing, you don't see such much these days. I always did "hate" the default blue of links.

Why does it bother me (and I guess others)? It is because it looks like the links were done fast and cheap, with no style, except the default style.

Not responsive, presenting the same layout on mobile and desktop

3-column grail layout (not bad per se, and not badly done at all, just something that was chased in the 90/00s to the extent that it looks dated - still could be ok for the intended target audience)

Why are there two nav menus? The horizontal menu appears to contain the same links as the vertical one, or the first couple items of it

Center body text doesn't have margin/padding

In general, allow content to have space rather than trying to cram everything into the first page impression; there are exceptions, though

What's the central message/tagline for the ATS site? The teaser syntax examples in the right column, with proper typo, are about the stuff that should be featured as central or only content

+1 for crafting a site for your project in the first place

The one that adds a lot to the retro look for me was the colour scheme - look at how each section has different colours.

The combination of typography, colour scheme, borders, corners, and margin used doesn't add up to a "unified look and feel".

Anyways, I made the discussion go off tangent here talking about the website and not the language itself :D

Does anyone use it? I couldn't find a list of businesses who use it.
It’s on the far bleeding edge as far as languages go, so I doubt any businesses use it. The largest practical ATS program I know of is polyglot: https://github.com/vmchale/polyglot
Thanks man. It's difficult to keep track as I've seen so many new languages on HN. This one seemed like an important one.
Rust seems very popular despite also being bleeding edge. I am surprised there isn't more public industry interest in ATS, it looks very principled and well designed.
ATS seems like a "Worse is Better" approach to dependent types and linear types. It exposes all of their power at the type level, and the value level allows both ML-style high level programming and C-level bit-banging. That's really useful for

Yet to actually use that power, developers are pretty much left to implement everything themselves.

The nice thing about Rust's borrow-checking approach is that common patterns can be inferred and checked. Linear types ATS offer the same power, but force developers to jump through more hoops 'manually' (and likewise for dependent types, compared to the fancy inference/proof-search approaches of languages like Idris)

Thanks for the descriptive answer mate. I honestly don't know much about it. But I've read about the LISP family and ML family of languages. There are too many to choose from. I've decided to learn F# and have been going through some tutorials. I'm enjoying it quite a lot. ATS sounds like a good combo of abstraction meets bare metal.
I would really recommend a modern look and HTTPS to the website though.