type systems
1:15:19Types are like the Weather, Type Systems are like Weathermen - Matthias Felleisen
16K views • 10 years ago
ClojureTV
Matthias Felleisen's keynote uses weather prediction as an analogy for type systems, arguing they forecast problems so you can act on them. It draws on his experience developing Typed Racket.
54:31Does APL Need a Type System? by Aaron W Hsu at #FnConf18
6K views • 7 years ago
ConfEngine
Aaron Hsu's FnConf18 talk asks whether APL needs a static type system. He argues that APL's expressiveness and rapid iteration already deliver the benefits usually credited to types.
40:15Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023
7K views • 3 years ago
Code Sync
ElixirConf EU 2023 talk by Giuseppe Castagna and Guillaume Duboc on bringing set-theoretic types to Elixir, and the benefits such a type system could offer such as catching bugs.
19:12Taking Vector Transposes Seriously | Jiahao Chen | JuliaCon 2017
7K views • 9 years ago
The Julia Programming Language
Jiahao Chen's JuliaCon 2017 talk argues that vector transposes should be taken seriously in type systems and linear algebra libraries. It explains why treating vectors as matrices causes trouble in languages.
Topic match · Programming language design
36:58"A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya Siram
26K views • 9 years ago
Strange Loop Conference
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.
1:11:42ElixirConf 2023 - José Valim - The foundations of the Elixir type system
38K views • 3 years ago
ElixirConf
José Valim's ElixirConf US 2023 closing keynote on the foundations of the Elixir type system, covering set-theoretic types and gradual typing with strong arrows.
40:39Edwin Brady - Idris 2 - Type-driven Development of Idris
19K views • 7 years ago
Curry On!
Edwin Brady, creator of Idris, presents Idris 2 and demonstrates type-driven development, where the compiler assists by filling holes and suggesting implementations from types.
43:23Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 18
20K views • 7 years ago
Code Sync
Edwin Brady presents Idris 2, a rewrite of the Idris dependently typed language, and shows type-driven development in practice. The demos show the compiler filling in whole functions from their types.
22:15Badness 0 (Apostrophe‛s version)
258K views • 2 years ago
suckerpinch
Tom 7's pilot episode of a series that plays with type systems and absurd programming, presented as a parody of the GPL v3 license. It mixes a typesetting experiment with a long, story-driven intro on the origin of TeX. Source code and papers are linked from the author's site.
Topic match · Programming language design
39:40"Type-Driven Program Synthesis" by Nadia Polikarpova
15K views • 8 years ago
Strange Loop Conference
Nadia Polikarpova's Strange Loop talk on program synthesis driven by refinement types, as in Synquid. It shows how rich type specifications can be turned into verified, executable code.
38:36"A Little Taste of Dependent Types" by David Christiansen
48K views • 8 years ago
Strange Loop Conference
David Christiansen gives a Strange Loop 2018 introduction to dependent types, where one language serves for both compile-time and run-time code and programs unite with proofs. It draws on his book The Little Typer.
46:36Type-Driven Development in Idris — Edwin Brady
26K views • 11 years ago
Scala World
Edwin Brady, creator of Idris, introduces type-driven development in a dependently typed language. He shows types being written first and programs derived with interactive editing, then extends beyond simple examples to programs that interact with users and networks.
1:04:35The Algebra of Algebraic Data Types
27K views • 13 years ago
London Haskell
A London Haskell talk on the algebra of algebraic data types, showing how sum and product types behave like arithmetic. It frames types as numbers obeying algebraic laws.
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
3K views • 8 years ago
25msr
A panel from the Lang NEXT 2014 conference on systems programming in 2014 and beyond. Language designers including Bjarne Stroustrup and Rob Pike discuss the topic, including C++ header compile times.
1:03:29Maybe Not - Rich Hickey
181K views • 7 years ago
ClojureTV
Rich Hickey's Clojure/Conj 2018 keynote argues that Maybe/Option types and rigid type signatures are a poor way to model data that changes over time. He builds the case around optionality, schema growth and compatibility, and presents the ideas behind Clojure spec as an alternative.
Topic match · Programming language design
42:43"Propositions as Types" by Philip Wadler
143K views • 11 years ago
Strange Loop Conference
Philip Wadler's Strange Loop talk on Propositions as Types, the link between logic and computation (the Curry-Howard correspondence). He traces its history through Church, Godel and Turing and shows how it shaped theorem provers and programming languages.
50:49Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
74K views • 6 years ago
KanDDDinsky
Scott Wlaschin shows how statically typed functional languages, using F# examples, can model a business domain so that invalid states cannot be represented. The type system acts almost like an instant unit test at compile time.
Topic match · Programming language design
1:03:34Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language
19K views • 8 years ago
Curry On!
Simon Peyton Jones presents linear types for Haskell, showing how practical linearity can fit into a higher-order polymorphic language. The talk covers motivations such as resource handling and relates the ideas to Rust.
Topic match · Programming language design
56:58Philip Wadler - Propositions as Types (Lambda Days 2016)
20K views • 10 years ago
Erlang Solutions
Philip Wadler's Lambda Days talk on propositions as types, the link between logic and computation that underlies theorem provers and programming language design.
1:42:53Edward Kmett - Type Classes vs. the World
36K views • 11 years ago
Boston Haskell
Edward Kmett speaks at the Boston Haskell meetup about type classes and the design tradeoffs of global coherence compared with other approaches to implicit instances. It covers why uniqueness of instances matters for reasoning and refactoring.
47:25Introducing SILE: A New Typesetting System
5K views • 11 years ago
lathosjp
The SILE author's FOSDEM 2015 talk introducing SILE, a TeX-inspired typesetting system with frame-based layout, Unicode, OpenType and a Lua-based extensible design.
46:15AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems
10K views • 11 years ago
Amazon Web Services
An AWS re:Invent 2014 talk on the core distributed systems primitives behind AWS and Amazon.com, such as consensus, key-value stores and transactional logging. It describes how AWS builds large services from a few common building blocks.
40:20"Shen: A Sufficiently Advanced Lisp" by Aditya Siram
26K views • 12 years ago
Strange Loop Conference
Aditya Siram introduces Shen, a small hosted Lisp with macros, a built-in Prolog and an optional type system. The talk demos a full web app moving between functional, logic and imperative styles, including turning JSON into a type with macros.
Topic match · Programming language design
33:32Condition Systems in an Exceptional Language - Chris Houser
16K views • 10 years ago
ClojureTV
Chris Houser's Clojure/conj talk on why Clojure's exceptions destroy information as the stack unwinds, unlike Common Lisp's condition system, which can resume from the error site. He surveys the existing libraries that approximate conditions, explains why they don't compose with each other, and considers what a better design would look like.
25:06"Making Impossible States Impossible" by Richard Feldman
63K views • 10 years ago
elm-conf
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types. It demonstrates techniques for making invalid states unrepresentable.
1:06:20USENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover Hardware
46K views • 5 years ago
USENIX
Timothy Roscoe of ETH Zurich delivers the joint USENIX ATC/OSDI 2021 keynote arguing that operating systems must reckon with modern hardware, which is a heterogeneous collection of processors, firmware and coprocessors rather than a simple machine. It shows how much runs below and beside Linux.
42:45RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy
2K views • 9 years ago
Confreaks
Joe Duffy's RustConf 2017 closing keynote on his experience at Microsoft building Midori, an operating system written in a Rust-like safe systems language. He covers the technical and cultural challenges of applying those lessons to Windows.
13:45A 10x faster TypeScript
608K views • 1 year ago
Microsoft Developer
Anders Hejlsberg introduces the native port of the TypeScript compiler, written in Go, which promises roughly 10x faster tooling. He demos compiling VS Code and explains where the speedup comes from.
51:40Domain Modeling Made Functional - Scott Wlaschin
71K views • 9 years ago
NDC Conferences
Scott Wlaschin's NDC talk on using statically typed functional programming, F# in particular, to model a business domain. Types are used to represent the domain precisely and to encode business rules so that illegal states cannot be built, with the compiler acting as an instant unit test.
Topic match · Programming language design
19:10Velocity NY 2013: Richard Cook, "Resilience In Complex Adaptive Systems"
47K views • 13 years ago
O'Reilly
Richard Cook's short Velocity 2013 talk on resilience in complex adaptive systems, arguing systems operate near the edge of failure and that the surprise is how rarely they fail. He presents a model of how pressures push systems toward failure boundaries.
28:21Velocity 2012: Richard Cook, "How Complex Systems Fail"
60K views • 14 years ago
O'Reilly
Dr. Richard Cook, a physician and patient safety researcher, presents his ideas on how complex systems fail, at Velocity 2012. He argues for designing for resiliency rather than trying to exhaustively handle every failure mode.
52:29"I See What You Mean" by Peter Alvaro
59K views • 11 years ago
Strange Loop Conference
Peter Alvaro's Strange Loop 2015 talk argues that query languages let you state what you mean, and applies that to distributed programming. It covers Datalog, Dedalus and the Bloom lineage for reasoning about distributed systems.
Topic match · Programming language design
59:04On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]
27K views • 7 years ago
PapersWeLove
Shriram Krishnamurthi's PWLConf 2019 talk on the formal notion of expressive power of programming languages, based on Felleisen's paper. It explains how to tell when a feature adds power by whether emulating it requires global rewriting.
Topic match · Programming language design
1:04:45Stanford Seminar - Concatenative Programming: From Ivory to Metal
14K views • 8 years ago
Stanford Online
Jon Purdy's Stanford EE380 seminar giving an overview of concatenative programming, from function composition theory and history down to low-level implementation and correctness benefits.
Topic match · Programming language design
52:01Why Static Typing Came Back • Richard Feldman • GOTO 2022
157K views • 3 years ago
GOTO Conferences
Richard Feldman's GOTO Copenhagen 2022 talk on why dynamic languages like Python, Ruby, PHP and JavaScript rose in the 1990s and why each now has a popular static type checker. It argues that modern static typing recovers the advantages that made dynamic languages attractive.
Topic match · Programming language design
1:29:49Going Native 2012 Keynote Stroustrup
33K views • 14 years ago
savage309
Bjarne Stroustrup's keynote at Going Native 2012 covers the ideas behind C++11, including using types to prevent errors and simplifying code with the STL.
Topic match · Programming language design
1:01:59TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef
87K views • 3 years ago
TigerBeetle
Joran Dirk Greef's Systems Distributed '23 talk on TigerStyle, the engineering methodology behind TigerBeetle. It covers designing safer systems in less time through up-front design, assertions, and deterministic simulation.
1:00:07CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”
357K views • 9 years ago
CppCon
Optiver's Carl Cook explains how to build high-frequency trading systems in C++, where the critical path runs rarely but must be extremely fast. He covers techniques for low and predictable latency, including avoiding main memory and cache misses.
18:12Type 2 diabetes | Sarah Hallberg | TEDxPurdueU
11.9M views • 11 years ago
TEDx Talks
Dr. Sarah Hallberg argues in a TEDx talk that type 2 diabetes can be treated and potentially reversed through diet, especially by restricting carbohydrates. TED flagged the talk as outside its guidelines and warned against taking it as medical advice.
1:01:27ZFS: The Last Word in File Systems Part 1
19K views • 14 years ago
Deirdré Straughan
Jeff Bonwick and Bill Moore, the creators of ZFS, present 'ZFS: The Last Word in File Systems' at the 2008 SNIA Software Developers' Conference. They explain the design, including copy-on-write, checksumming and avoiding the write hole.