Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
Compositional

Compositional

Tweag I/O

Hear all about functional programming in practice. We invite people working on hard industry problems to tell us how they are solving them, the tools they use, and what gets them up in the morning. Expect deep dives into Haskell, Nix, Rust, build systems, data engineering, AI, and more. We make it back to the surface too sometimes, to chat about engineering culture and the challenges of leadership in distributed teams.
bookmark
Share icon

All episodes

Best episodes

Top 10 Compositional Episodes

Goodpods has curated a list of the 10 best Compositional episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Compositional for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Compositional episode by adding your comments to the episode page.

Apostolos Chalkis is a PhD student from the University of Athens. As part of his recent Tweag fellowship, he developed dingo, a Python package to analyze steady states of metabolic networks—networks of biochemical reactions that take place in any living cell—using geometric random walks and other methods from computational geometry.

In this episode, Apostolos explains what metabolic networks are and how he applies Markov Chains Monte Carlo methods to understand them. Also check out Apostolos's blog post, where he shows a particular application of his package to the search for potential COVID-19 treatments.

Special Guest: Apostolos Chalkis.

Links:

bookmark
plus icon
share episode

With the news that Simon is leaving Microsoft Research, and now joining Epic Games, we've taken the opportunity to sit down and do a retrospective of his time at Microsoft Research and the various collaborations that have come about as part of that journey.

Special Guest: Simon Peyton-Jones.

Links:

bookmark
plus icon
share episode
Compositional - Nix in Production with Domen Kožar
play

04/21/21 • 64 min

Domen Kožar is the founder of Cachix, a popular caching service and one of the first products exclusively targeting the Nix ecosystem. He is also behind various community initiatives such as, for example, most recently a open collective fund to improve Nix' MacOS support. In this episode, Rok talks to Domen about how he came to work with Nix, his experiences with it and thoughts on how it evolves.

Special Guest: Domen Kožar.

Links:

bookmark
plus icon
share episode
Compositional - Shpadoinkle?

Shpadoinkle?

Compositional

play

08/06/21 • 51 min

Noon and Isaac have a chat about the state of front-end development and Isaac's motivations in bringing a new player to the market: Shpadoinkle, written in Haskell. Isaac discusses some of the issues he has with other approaches and how he and the Shpadoinkle team have been working to resolve them!

Special Guest: Isaac Shapira.

Links:

bookmark
plus icon
share episode
Compositional - Quantum computing with Chris Granade
play

10/29/21 • 54 min

In this episode Noon is joined by Chris Granade, from Microsoft, who talks about their background, their research path, and what brought them into quantum computing. We discuss Chris' journey to the Q# development team, and the book they have co-authored with Sarah Kaiser. We also cover Chris' vision of the necessary skills to get engaged working in the field, and some pitfalls to watch out for. Tune in for an exploration of a very interesting person and field, and to get some hints as to where functional programming and type theory might play a role in future quantum programming languages!

Special Guest: Chris Granade.

Links:

bookmark
plus icon
share episode

Noon has a chat with LaToya Anderson, who recently completed a Tweag Fellowship focusing on open-source software for quantum chemistry calculations. Topics of discussion include LaToya's prior education as a dancer, her interests and passions for quantum computing, what interested her in the field, thoughts on how the quantum computing ecosystem should harness their public interest, and how to pursue a career in this space!

Special Guest: LaToya Anderson.

Links:

bookmark
plus icon
share episode

This episode's guest is Doug Beardsley, also known as mightybyte, director of engineering at Kadena, a blockchain company that uses Haskell in production. Doug is one of the few software engineering leaders who have used Haskell and advanced functional programming techniques in production systems for a long time at various companies. If you are interested in how he came into this position, as well as how he sees functional programming evolve and now positioned in the wider software industry, this episode is for you!

In this series, Robin Bate-Boerop talks to industry leaders of the functional programming world. A decade ago, functional programming was still perceived as a niche tool for early adopters. Since then, it has grown into a mature option for the software industry and has been used in a wide variety of influential projects, demonstrating the enormous value that core principles such as composability, reproducibility, correctness can bring. Other ecosystems adopted related ideas such as elaborate type systems that were once only appreciated by academics. Robin's guests have experienced and shaped this thrilling evolution of the way we write computer programs, discussing industry trends, community insights and various technologies on the show.

Special Guest: Doug Beardsley.

Links:

  • Kadena — Kadena, where Doug is director of engineering, is a hybrid blockchain platform partly written in Haskell. It consists of a public blockchain, a permissioned network, and the Pact smart contract language.
  • Doug's homepage
bookmark
plus icon
share episode

Three core developers from the Haskell linear types team are on this show: Arnaud Spiwack, Richard Eisenberg and Krzysztof Gogolewski. They have conceived, reviewed and implemented the Haskell linear types extension that is shipped with the latest compiler version. Linear types allow to express that a function uses an argument exactly once in its type signature which opens all kinds of possibilities.

In this episode, Arnaud, Richard and Krzysztof give a short introduction to linear types and then answer community questions that have been asked on reddit. The questions that are answered are outlined below. Links and further material are available on the episode website on compositional.fm/linear-types-ama .

Thank you for contributing the questions and happy listening!

MP3 Chapters:

[00:00:00] Introduction

Questions:

[00 : 12 : 40] Will using linear types throughout my program improve performance?

[00 : 16 : 14] If I see a function with linear type in it's type signature, what kinds of things might it tell me about the purpose or use cases for that function?

[00 : 20 : 51] How might LinearTypes pave the way for an alternative to conduit,pipes, and other streaming IO libraries?

[00 : 23 : 31] Are linear types inferable with the Hindley-Milner algorithm?

[00 : 24 : 54] Are the current boxed linear containers the first step or all that is planned for now?

[00 : 26 : 31] Are nested linear containers possible?

[00 : 30 : 37] There were plans for a safe coerce-style freezing api, does that still seem workable?

[00 : 31 : 44] What is the state of the linear case/let/if/where mechanism?

[00 : 35 : 15] Are there any thoughts about ressource guarantees or RAII types in some far utopian future?

[00 : 41 : 17] How do the Haskell linear types compare to the Rust equivalent?

[00 : 48 : 02] What are the scenarios where the use of linear types makes a lot of sense?

[00 : 51 : 19] Will we get linear functions taking and returning a state token that can effectively replace IO?

[00 : 59 : 10] What benefit will linear types bring to a garbage collected language like Haskell?

[01 : 02 : 13] Is an automatic "C-like" memory management separate from Haskell's garbage collector on the linear types roadmap?

[01 : 02 : 58] Could strictness analysis results be used to suggest extra linear arrows with an optional warning?

[01 : 04 : 04] What are limitations and recommendations concerning migration of existing code?

[01 : 04 : 58] To what extent can a package mix code that uses linear types with code that does not use linear types?

[01 : 07 : 50] What is the recommended practice for migrating existing libraries to use linear types?

Special Guests: Arnaud Spiwack, Krzysztof Gogolewski, and Richard Eisenberg.

Links:

bookmark
plus icon
share episode
Compositional - Nix in production with Rickard Nilsson
play

06/23/21 • 46 min

Rickard Nilsson is a founder of NixBuild.net, a cloud service that runs your Nix builds. He is a long time Nix user and contributor. His company - Immutable Solutions - helps companies design, develop and deploy server systems and software. Everyday he uses Nix in production.

Special Guest: Rickard Nilsson.

Links:

bookmark
plus icon
share episode
Compositional - The Haskell Language Server with Zubin Duggal
play

01/13/21 • 71 min

The Haskell Language Server (HLS) has shown how powerful the wealth of compile time information is that Haskell brings combined with instant feedback. For many, it is now a standard component of their development workflow. The HLS runs a complex, finely tuned machinery that handles large amounts of data about files, expressions, types and more, syncing it with the editor and continuously providing relevant information that can be displayed to the user.

In this episode, Roman Cheplyaka talks to Zubin Duggal who contributed to HLS for years, personally, through various Summer of Code projects and recently as a Tweag Open Source Fellow. He explains how HLS emerged from various predecessors. the role the Language Server Protocol played in reducing the implementation efforts and then dives deep into the inner workings of this tool.

If you want to understand what is happening when your editor shows information about your code, or if you want to get involved yourself to contribute to HLS or similar tools this episode is for you!

Special Guest: Zubin Duggal.

Links:

bookmark
plus icon
share episode

Show more best episodes

Toggle view more icon

FAQ

How many episodes does Compositional have?

Compositional currently has 16 episodes available.

What topics does Compositional cover?

The podcast is about Software, Podcasts, Technology, Education and Programming.

What is the most popular episode on Compositional?

The episode title 'The new random with Leonhard Markert and Dominic Steinitz' is the most popular.

What is the average episode length on Compositional?

The average episode length on Compositional is 54 minutes.

How often are episodes of Compositional released?

Episodes of Compositional are typically released every 21 days.

When was the first episode of Compositional?

The first episode of Compositional was released on Oct 19, 2020.

Show more FAQ

Toggle view more icon

Comments