{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/65de32896569fa0017d17653/69125144a17ebcde88690abe?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Ground Zero-Cost Bindings (with Josh Vlk)","description":"<p>In this Dead Code episode, Jared and ReScript contributor Josh Vlk explain why ReScript is a strongly typed, sound language for web development that compiles to JavaScript, offers first-class React support, and favors a “one right way” approach (built-in formatter, no linters) over TypeScript’s configurable sprawl. They trace its evolution from Reason/BuckleScript to today’s standalone ReScript, with v12 shedding legacy OCaml baggage, adding a rewritten Rust compiler for major speed, native monorepo support, zero-cost JS bindings, and automated upgrade fixes. The pair highlight how variant types and exhaustive pattern matching naturally model complex business logic and make refactors safe and fast, often resulting in less code and fewer bugs. Adoption can be incremental—drop a rescript.json, compile alongside TS/JS, and start with a small component or state reducer. Jared closes by urging developers to try it, noting ReScript’s consistency may also make it especially friendly for AI-assisted coding.</p><p><br></p><p><strong>Links:</strong></p><p><br></p><p><a href=\"https://rescript-lang.org/\" rel=\"noopener noreferrer\" target=\"_blank\">ReScript</a></p><p><a href=\"https://www.typescriptlang.org/\" rel=\"noopener noreferrer\" target=\"_blank\">TypeScript</a></p><p><a href=\"https://reasonml.github.io/\" rel=\"noopener noreferrer\" target=\"_blank\">ReasonML</a></p><p><a href=\"https://github.com/BuckleScript/bucklescript\" rel=\"noopener noreferrer\" target=\"_blank\">BuckleScript</a></p><p><a href=\"https://ocaml.org/\" rel=\"noopener noreferrer\" target=\"_blank\">OCaml</a></p><p><a href=\"https://www.rust-lang.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Rust</a></p><p><a href=\"https://rescript-lang.org/blog/rescript-has-come-a-long-way\" rel=\"noopener noreferrer\" target=\"_blank\">“ReScript Has Come a Long Way — Maybe It’s Time to Switch from TypeScript”</a> by Josh Vlk</p><p><a href=\"https://fsharpforfunandprofit.com/books/#domain-driven-design-made-functional\" rel=\"noopener noreferrer\" target=\"_blank\">“Domain Driven Design Made Functional”</a> by Scott Wlaschin (F# / functional programming concepts)</p><p><a href=\"https://forum.rescript-lang.org/\" rel=\"noopener noreferrer\" target=\"_blank\">ReScript Forums</a></p><p><a href=\"https://rescript-lang.org/docs/latest\" rel=\"noopener noreferrer\" target=\"_blank\">ReScript Docs</a></p><p><a href=\"https://www.npmjs.com/search?q=keywords:rescript\" rel=\"noopener noreferrer\" target=\"_blank\">ReScript Packages on npm</a> – Community bindings and libraries</p><p><a href=\"https://bsky.app/profile/vlkpack.com\" rel=\"noopener noreferrer\" target=\"_blank\">Josh Vlk on Bluesky</a></p><p><a href=\"https://thejoshderocher.com/\" rel=\"noopener noreferrer\" target=\"_blank\">Josh’s website </a></p><p><br></p><p><strong>Dead Code Podcast Links:</strong></p><p><br></p><p><a href=\"https://hachyderm.io/@deadcode\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/DeadCodePod\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><strong>Jared’s Links:</strong></p><p><br></p><p><a href=\"https://supergood.social/@jared\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><a href=\"https://www.twitch.tv/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">twitch.tv/jardonamron</a></p><p><a href=\"https://jardo.dev\" rel=\"noopener noreferrer\" target=\"_blank\">Jared’s Newsletter &amp; Website</a></p><p><br></p><p><a href=\"https://docs.google.com/document/d/1zXJZCHfs5VpEhOSQ7Vp2hf5rn3bPO1j3RVWPkyqWgeI/edit?tab=t.0\" rel=\"noopener noreferrer\" target=\"_blank\">Episode Transcript</a></p>","author_name":"Jared Norman"}