Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    "A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya Siram

    Strange Loop Conference

    4 HN recommenders · recommended in 9 months, 2017–2022

    YouTube

    36:58 · 26K views · Sep 30, 2017

    Aditya Siram introduces ATS, a statically typed ML-like language that compiles to C and offers type-safe pointer arithmetic and a full proof language. The Strange Loop talk shows off C interop, concurrency and verification features with non-trivial examples.

    Cited in Rust and systems-language threads as the best introduction to ATS, a language claimed to go beyond Rust's safety guarantees.

    Software Engineering & LanguagesProgramming language designLogic & formal methodsC, C++, Rust, Go & systems languages
    1. 42:43
      "Propositions as Types" by Philip WadlerStrange Loop Conference144K views • 11 years ago
    2. 39:40
      "Type-Driven Program Synthesis" by Nadia PolikarpovaStrange Loop Conference15K views • 8 years ago
    3. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    4. 59:23
      28c3: The Science of Insecurity28c342K views • 14 years ago
    5. 38:36
      "A Little Taste of Dependent Types" by David ChristiansenStrange Loop Conference48K views • 8 years ago
    6. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    7. 17:26
      Lecture 1 | Programming Paradigms (Stanford)Stanford1.2M views • 18 years ago
    8. 40:20
      "Shen: A Sufficiently Advanced Lisp" by Aditya SiramStrange Loop Conference26K views • 12 years ago
    9. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    10. 30:06
      "Tackling Concurrency Bugs with TLA+" by Hillel WayneStrange Loop Conference24K views • 9 years ago
    11. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    12. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    13. 23:12
      dotGo 2015 - Rob Pike - Simplicity is Complicateddotconferences172K views • 10 years ago
    14. 40:56
      "Liberating the Smalltalk lurking in C and Unix" by Stephen KellStrange Loop Conference25K views • 12 years ago
    15. 59:50
      Leslie Lamport: Thinking Above the CodeMicrosoft Research403K views • 12 years ago
    16. 1:12:56
      Lecture 1A | MIT 6.001 Structure and Interpretation, 1986MIT OpenCourseWare995K views • 17 years ago
    17. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago
    18. 47:41
      "Programming Should Eat Itself" by Nada AminStrange Loop Conference43K views • 12 years ago
    19. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    20. 32:24
      RustLatam 2019 - Without Boats: Zero-Cost Async IORust Programming Language55K views • 7 years ago

    11 comments from Hacker News

    1. @AthasAug 2020· in “Supporting Linux kernel development in Rust”

      Yes, ATS can guarantee all those things and more. In particular, ATS allows you to write "unsafe" code, which you then prove safe with a mechanically verified proof. This is in contrast to unsafe Rust, which depends on programmer discipline, and has no (intra-language) mechanism for verification beyond the basic type system. You could say that Rust is all-or-nothing, while ATS allows gradual verification, as well as proving safe much more complex code than you can in Rust. I'm not going to claim that ATS is overall better than Rust - it's not - but it's a far more powerful language than Rust for safe systems programming. It's just that most people are not willing or able to pay the very high price in ergonomics. I recommend watching this presentation for a good idea of what ATS programming is like: this video In short, it's about as user-friendly as an overheating nuclear reactor.

      RecommendsView on HN
    2. @wahernOct 2017· in “Building on Rock, Not Sand”

      How many buffer overflows were involved in the Equifax leak? The ultimate solution to the problem is formal verification. Rust solves this for buffer overflows, but nothing else. It's a one trick pony. Someone posted this interesting nugget on HN the other day: this video Aside from some of the awkward ergonomics, its mechanism for formal specification looks brilliant. And you get to keep C's bag-of-bytes object manipulation and pointer arithmetic (when you want it) without having to resort to unsafe{}. For projects where it's worth the effort to carefully declare precise typing semantics (because safety, performance, whatever), I want a wholistic solution. Otherwise my time and money is better spent throwing Javascript or Python at the problem, which solve the buffer overflow problem just as well.

      RecommendsView on HN
    3. @wahernOct 2017· in “Building on Rock, Not Sand”

      > Without these, you simply can’t have a fast, > memory-safe language: either you surrender > speed, by boxing everything, or you surrender safety. Not only can you have speed and safety without Rust's rigid enforcement of exclusive ownership, you can do even better--even faster and with even stronger security guarantees: this video [LINK]

      RecommendsView on HN
    4. @rtfeldmanAug 2021· in “The ATS Programming Language”

      Some entertaining talks introducing the language, by /u/deech: "A Tase Of ATS" at Compose Conf 2019: [LINK] "A (Not So Gentle) Introduction To Systems Programming In ATS" at Strange Loop 2017: this video

      RecommendsView on HN
    5. @snakySep 2018· in “How did software get so reliable without proof? (1996) [pdf]”

      If you are interesting in a programming language suitable for system level programming, and using proving techniques, maybe ATS would be of interest. this video [LINK]

      RecommendsView on HN