Artwork

Kandungan disediakan oleh SmartLogic LLC. Semua kandungan podcast termasuk episod, grafik dan perihalan podcast dimuat naik dan disediakan terus oleh SmartLogic LLC atau rakan kongsi platform podcast mereka. Jika anda percaya seseorang menggunakan karya berhak cipta anda tanpa kebenaran anda, anda boleh mengikuti proses yang digariskan di sini https://ms.player.fm/legal.
Player FM - Aplikasi Podcast
Pergi ke luar talian dengan aplikasi Player FM !

Creating a Language: Elixir vs. Roc with José Valim and Richard Feldman (Elixir Wizards X Software Unscripted Podcast)

1:09:04
 
Kongsi
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on September 05, 2025 15:31 (3M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 394759542 series 2493466
Kandungan disediakan oleh SmartLogic LLC. Semua kandungan podcast termasuk episod, grafik dan perihalan podcast dimuat naik dan disediakan terus oleh SmartLogic LLC atau rakan kongsi platform podcast mereka. Jika anda percaya seseorang menggunakan karya berhak cipta anda tanpa kebenaran anda, anda boleh mengikuti proses yang digariskan di sini https://ms.player.fm/legal.

For the final episode of Elixir Wizards’ Season 11 “Branching Out from Elixir,” we’re featuring a recent discussion from the Software Unscripted podcast. In this conversation, José Valim, creator of Elixir, interviews Richard Feldman, creator of Roc. They compare notes on the process and considerations for creating a language.

This episode covers the origins of creating a language, its influences, and how goals shape the tradeoffs in programming language design. José and Richard share anecdotes from their experiences guiding the evolution of Elixir and Roc. The discussion provides an insightful look at the experimentation and learning involved in crafting new languages.

Topics discussed in this episode

  • What inspires the creation of a new programming language
  • Goals and use cases for a programming language
  • Influences from Elm, Rust, Haskell, Go, OCaml, and more
  • Tradeoffs involved in expressiveness of type systems
  • Opportunistic mutation for performance gains in a functional language
  • Minimum version selection for dependency resolution
  • Build time considerations with type checking and monomorphization
  • Design experiments and rolling back features that don’t work out
  • History from the first simple interpreter to today's real programming language
  • Design considerations around package management and versioning
  • Participation in Advent of Code to gain new users and feedback
  • Providing performance optimization tools to users in the future
  • Tradeoffs involved in picking integer types and arithmetic
  • Comparing floats and equality checks on dictionaries
  • Using abilities to customize equality for custom types
  • Ensuring availability of multiple package versions for incremental upgrades
  • Treating major version bumps as separate artifacts
  • Roc's focus on single-threaded performance

Links mentioned in this episode

Software Unscripted Podcast https://feeds.resonaterecordings.com/software-unscripted
Roc Programming Language https://www.roc-lang.org/
Roc Lang on Github https://github.com/roc-lang/roc
Elm Programming Language https://elm-lang.org/
Elm in Action by Richard Feldman https://www.manning.com/books/elm-in-action
Richard Feldman on Github https://github.com/rtfeldman
Lua Programming Language https://www.lua.org/
Vimscript Guide https://google.github.io/styleguide/vimscriptfull.xml
OCaml Programming Language https://ocaml.org/
Advent of Code https://adventofcode.com/
Roc Language on Twitter https://twitter.com/roc_lang
Richard Feldman on Twitter https://twitter.com/rtfeldman
Roc Zulip Chat https://roc.zulipchat.com
Clojure Programming Language https://clojure.org/
Talk: Persistent Data Structures and Managed References by Rich Hickey https://www.youtube.com/watch?v=toD45DtVCFM
Koka Programming Language https://koka-lang.github.io/koka/doc/index.html
Flix Programming Language https://flix.dev/
Clojure Transients https://clojure.org/reference/transients
Haskell Software Transactional Memory https://wiki.haskell.org/Software_transactional_memory
Rust Traits https://doc.rust-lang.org/book/ch10-02-traits.html
CoffeeScript https://coffeescript.org/
Cargo Package Management https://doc.rust-lang.org/book/ch01-03-hello-cargo.html
Versioning in Golang https://research.swtch.com/vgo-principles

Special Guests: José Valim and Richard Feldman.

  continue reading

203 episod

Artwork
iconKongsi
 

Fetch error

Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on September 05, 2025 15:31 (3M ago)

What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.

Manage episode 394759542 series 2493466
Kandungan disediakan oleh SmartLogic LLC. Semua kandungan podcast termasuk episod, grafik dan perihalan podcast dimuat naik dan disediakan terus oleh SmartLogic LLC atau rakan kongsi platform podcast mereka. Jika anda percaya seseorang menggunakan karya berhak cipta anda tanpa kebenaran anda, anda boleh mengikuti proses yang digariskan di sini https://ms.player.fm/legal.

For the final episode of Elixir Wizards’ Season 11 “Branching Out from Elixir,” we’re featuring a recent discussion from the Software Unscripted podcast. In this conversation, José Valim, creator of Elixir, interviews Richard Feldman, creator of Roc. They compare notes on the process and considerations for creating a language.

This episode covers the origins of creating a language, its influences, and how goals shape the tradeoffs in programming language design. José and Richard share anecdotes from their experiences guiding the evolution of Elixir and Roc. The discussion provides an insightful look at the experimentation and learning involved in crafting new languages.

Topics discussed in this episode

  • What inspires the creation of a new programming language
  • Goals and use cases for a programming language
  • Influences from Elm, Rust, Haskell, Go, OCaml, and more
  • Tradeoffs involved in expressiveness of type systems
  • Opportunistic mutation for performance gains in a functional language
  • Minimum version selection for dependency resolution
  • Build time considerations with type checking and monomorphization
  • Design experiments and rolling back features that don’t work out
  • History from the first simple interpreter to today's real programming language
  • Design considerations around package management and versioning
  • Participation in Advent of Code to gain new users and feedback
  • Providing performance optimization tools to users in the future
  • Tradeoffs involved in picking integer types and arithmetic
  • Comparing floats and equality checks on dictionaries
  • Using abilities to customize equality for custom types
  • Ensuring availability of multiple package versions for incremental upgrades
  • Treating major version bumps as separate artifacts
  • Roc's focus on single-threaded performance

Links mentioned in this episode

Software Unscripted Podcast https://feeds.resonaterecordings.com/software-unscripted
Roc Programming Language https://www.roc-lang.org/
Roc Lang on Github https://github.com/roc-lang/roc
Elm Programming Language https://elm-lang.org/
Elm in Action by Richard Feldman https://www.manning.com/books/elm-in-action
Richard Feldman on Github https://github.com/rtfeldman
Lua Programming Language https://www.lua.org/
Vimscript Guide https://google.github.io/styleguide/vimscriptfull.xml
OCaml Programming Language https://ocaml.org/
Advent of Code https://adventofcode.com/
Roc Language on Twitter https://twitter.com/roc_lang
Richard Feldman on Twitter https://twitter.com/rtfeldman
Roc Zulip Chat https://roc.zulipchat.com
Clojure Programming Language https://clojure.org/
Talk: Persistent Data Structures and Managed References by Rich Hickey https://www.youtube.com/watch?v=toD45DtVCFM
Koka Programming Language https://koka-lang.github.io/koka/doc/index.html
Flix Programming Language https://flix.dev/
Clojure Transients https://clojure.org/reference/transients
Haskell Software Transactional Memory https://wiki.haskell.org/Software_transactional_memory
Rust Traits https://doc.rust-lang.org/book/ch10-02-traits.html
CoffeeScript https://coffeescript.org/
Cargo Package Management https://doc.rust-lang.org/book/ch01-03-hello-cargo.html
Versioning in Golang https://research.swtch.com/vgo-principles

Special Guests: José Valim and Richard Feldman.

  continue reading

203 episod

Semua episod

×
 
Loading …

Selamat datang ke Player FM

Player FM mengimbas laman-laman web bagi podcast berkualiti tinggi untuk anda nikmati sekarang. Ia merupakan aplikasi podcast terbaik dan berfungsi untuk Android, iPhone, dan web. Daftar untuk melaraskan langganan merentasi peranti.

 

Panduan Rujukan Pantas

Podcast Teratas
Dengar rancangan ini semasa anda meneroka
Main