Discover the future of software from the people making it happen.Listen to some of the smartest developers we know talk about what they're working on, how they're trying to move the industry forward, and what you can learn from it. You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.

Writing a CAD Language in Rust (with Adam Chalmers)

October 16, 2024 1:22:48 119.24 MB Downloads: 0

Given how many languages have been written in C over the years, it’s not surprising to see new languages being written in Rust. What is surprising about this week’s guest is the domain he’s writing for: Computer Aided Design (CAD). Could Rust be sneaking its way into the CAD world too?

Joining me to discuss the design and implementation of a CAD programming language is Adam Chalmers. He works at Zoo, developing KCL - a language that looks like JavaScript, runs on Rust, and offers users a seamless hybrid experience of both coding and point-and-click modelling. So, how does that all fit together?

In this episode we look at the design and implementation of a programming language in Rust; how KittyCAD creates that hybrid environment for text-based programming and point-and-click modelling; and how we can learn to write our own Rust-interpreted languages.

Adam’s Blog: https://adamchalmers.com/

Adam’s Guide To Writing Parsers: https://www.youtube.com/watch?v=QF3kMyzMC40

Zoo’s Modelling App: https://zoo.dev/modeling-app

Mechanical CAD: https://zoo.dev/blog/mechanical-cad-yesterday-today-and-tomorrow

A Lego brick in KCL: https://zoo.dev/docs/kcl-samples/lego

Winnow: https://docs.rs/winnow/latest/winnow/

Nom: https://docs.rs/nom/latest/nom/

Factorio: https://www.factorio.com/

Satisfactory: https://store.steampowered.com/app/526870/Satisfactory/

Crafting Interpreters: https://craftinginterpreters.com/

Coding in Antarctica: https://brr.fyi/


Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join


Adam on Mastodon: https://mastodon.social/@adam_chal@hachyderm.io

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins