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:
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.
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.
> * 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.
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.
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
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
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.
37 comments
[ 232 ms ] story [ 995 ms ] thread"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
I am assuming this is a play on words, as the usual word used would be "Taste"
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)
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.
Can you say what in particular makes it look like 90s? And what could be done to make it look more current?
* 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.
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.
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/
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.
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 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
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)