Tweag by Modus Create
banner
tweag.io
Tweag by Modus Create
@tweag.io
Tweag is the home of specialized engineering and advisory for Modus Create, uniting engineers and researchers to solve complex challenges. With expertise in functional engineering, build systems like Nix, Bazel, and Buck2, and blockchain like Cardano.
Pinned
👋 Bluesky. We're here. Say hello in the replies.
Exciting news! Our very own Alejandro Gómez Londoño will be leading a tutorial at #BazelCon on debugging build errors.

Curious how to approach and fix failing builds effectively? Don’t miss this hands-on training session!

Register today: events.linuxfoundation.org/bazelcon/
BazelCon | LF Events
BazelCon unites enthusiasts, maintainers, users, and friends. The event features the Bazel State-of-the-Union, collaboration opportunities, and a live Q&A.
events.linuxfoundation.org
November 7, 2025 at 2:30 PM
Reposted by Tweag by Modus Create
#CodeCommons is mapping all #OSS. We hit massive scale by solving a bottleneck: 10,000 #Python processes overloaded the #HPC store. Solution: re-architected process spawning. https://www.softwareheritage.org/2025/10/08/kraken-swh-fuse/
It takes a Kraken to scan billions of source files - Software Heritage
How CodeCommons uses SWH-fuse and the Kraken compressed graph to map open source: 8K files/sec and solving 10K process scaling.
www.softwareheritage.org
November 6, 2025 at 9:37 PM
Reposted by Tweag by Modus Create
You've got two more weeks to beat your submission for #BOBkonf2025 into shape: call ends end of day on 17 November 2025.

bobkonf.de/2026/cfc.html
November 3, 2025 at 3:08 PM
Reposted by Tweag by Modus Create
i've landed the ghc patch, now ghc-in-browser is tested in ghc ci: gitlab.haskell.org/ghc/ghc/-/tr...
November 1, 2025 at 6:31 PM
Software doesn't have to get slower as it grows. In our latest blog post, Mesut Gunes dives into continuous performance testing—an approach to catching slowdowns and regressions before they impact your users. Learn how performance checks can fit into your CI/CD pipeline www.tweag.io/blog/2025-10...
Continuous Performance Testing: staying fast
This post introduces Continuous Performance Testing (CPT) as an automated, CI/CD–integrated approach that provides real-time feedback and shifts testing left to catch issues early. It also highlights…
www.tweag.io
October 31, 2025 at 8:36 AM
Reposted by Tweag by Modus Create
In the new Haskell Interlude, we talk to Manuel Chakravarty - his work on the ghc backend such as data-parallel Haskell and the FFI and how that work segued into type system design. We also discussed Manuel’s perspective on Haskell from the design of Swift.
haskell.foundation/podcast/72/
Manuel Chakravarty
In this episode, we talk to Manuel Chakravarty - specifically, his work on the ghc backend such as data-parallel Haskell and the FFI and how that work segued into type system design. We also discussed...
haskell.foundation
October 30, 2025 at 1:40 PM
The Topiary team is proud to announce the release of Topiary 0.7.0 "Heavenly Hemlock"; no headline change, but a lot of small solid improvements. With thanks to our contributors and welcoming our first non-Tweag team member, @galleyslaver.bsky.social github.com/tweag/topiar...
Release v0.7.0 - Heavenly Hemlock - 2025-10-29 · tweag/topiary
Release Notes Full list of changes Added #921 man pages for the Topiary CLI #1015 Add support for include expressions to Nickel formatting #1049 Add support for rich grammar parsing errors using m...
github.com
October 30, 2025 at 9:05 AM
Reposted by Tweag by Modus Create
Announcing Hindsight, an event sourcing library for #Haskell, designed to bring type safety and correctness to event-driven architectures.

hindsight.events/content/post...
Home - Hindsight
hindsight.events
October 29, 2025 at 11:35 AM
Reposted by Tweag by Modus Create
i'll also write up docs for this so you could build your own customized #haskell playground based on ghc api in the browser with your own packages. it'll take a while, stay tuned!
October 28, 2025 at 11:45 AM
#BazelCon is just weeks away! 🙌

Be sure to catch Guillaume Maudoux’s talk on how we tackled rules_python’s Gazelle extension challenges with FawltyDeps to automate Python dependency maintenance in Bazel. 🐍✨

Register now: events.linuxfoundation.org/bazelcon/
October 28, 2025 at 1:30 PM
Reposted by Tweag by Modus Create
This is not a drill: GHC (the #Haskell compiler) now runs in your browser. See the announcement (and please report any bugs) here: discourse.haskell.org/t/ghc-now-ru...
Ghc now runs in your browser
ghc itself can now run purely client-side in the browser, here’s a haskell playground demo. terms and conditions apply, and i’ll write up more detailed explanation some time later, but i thought this ...
discourse.haskell.org
October 25, 2025 at 7:28 PM
New blog post by Wesley Fuchter.

Tried “vibe coding”? Here’s why it fails at scale.
Our team at Modus Create ran an experiment—traditional vs #AI-assisted dev squads. The AI team shipped clean code faster using a structured workflow we call #AgenticCoding.

Dive in: www.tweag.io/blog/2025-10...
Introduction to Agentic Coding
Structured AI-assisted development workflows for engineering teams.
www.tweag.io
October 24, 2025 at 8:00 AM
#BazelCon is just weeks away! Be sure to catch our Software Engineer Daniel Thagard for a live talk where he'll showcase his open-source Bazel ruleset that transforms Bazel into a multimedia powerhouse. 🎥🎶

Learn more & register: events.linuxfoundation.org/bazelcon/
October 22, 2025 at 1:30 PM
Reposted by Tweag by Modus Create
Registration for #BOBkonf2026 is now open! Our cheapest ticket tier, the pig-in-a-poke ticket, is on sale for €165 until the programme announcement date of 12 December.

Find more information here: bobkonf.de/2026/registr...
bobkonf.de
October 20, 2025 at 9:01 AM
Join Andreas Herrmann for a live talk at #BazelCon on the challenges that we faced while creating rules_haskell to build Haskell with Bazel, and how Buck2’s novel features allowed us to create more efficient Haskell build rules for Buck2.

Learn more: events.linuxfoundation.org/bazelcon/
October 16, 2025 at 1:30 PM
#Nickel v1.14 has just been released. It features improved contract errors when importing Yaml files, and improvements to the LSP. The latter being mostly contributed by L0r3m1p5um. Thanks to them and new contributors Brandon Weeks and Twitchyliquid64. Full release notes github.com/tweag/nickel...
Release v1.14.0 · tweag/nickel
Version 1.14 (2025-10-02) Nickel 1.14 has no core language changes. It adds position information to YAML documents, so that if some imported YAML breaks a contract then Nickel can blame the correct...
github.com
October 9, 2025 at 8:02 AM
Going to #BazelCon 2025? Catch Build Systems Engineer Malte Poll's talks on revolutionizing build performance! He'll cover:

1️⃣ "rules_img": A redesign for container image building
2️⃣ "asset-fuse": Bringing large files in Buck2 & Bazel

Learn more 👇

events.linuxfoundation.org/bazelcon/
October 8, 2025 at 1:30 PM
Reposted by Tweag by Modus Create
"Stop treating #code like an afterthought: record, share & value it," from our team + experts in @nature.com https://www.nature.com/articles/d41586-025-03196-0 #OpenScience #research
Stop treating code like an afterthought: record, share and value it
Scientists, research institutions, funders, libraries and publishers must all improve software practices.
www.nature.com
October 8, 2025 at 7:34 AM
Reposted by Tweag by Modus Create
Backstage OCaml: You Can Try the Experimental Branch of Merlin That Uses Domains and Effects
The Merlin team is excited to share that you can now try out an experimental branch of Merlin that leverages OCaml 5's domains and effects! This is Merlin-domains, and we'd love for you to test it and share your feedback. What is Merlin-domains? Merlin-domains is an experimental branch that uses domains and effects to implement two optimisations to improve performance in large buffers: partial typing and cancellation. As a reminder, Merlin is the editor service that powers OCaml's IDE features—if you're using the OCaml Platform extension with VS Code or ocaml-eglot with Emacs, you're already using Merlin under the hood through OCaml LSP Server. Why This Matters While Merlin has had relatively few performance complaints over the years, in some contexts like very large files, the parsing-typing-analysis mechanism could sometimes cause slowdowns. The experimental branch addresses this in a clever way. When you run an analysis command on a very large file, the type-checker will progress up to the location that makes the analysis possible, run the analysis phase, return the result, and then continue typing the file. This separation is made possible through control flow management enabled by effects, with two domains interacting with each other. The result? Analysis phases become much more efficient! This is a great example of migrating a regular OCaml application to take advantage of multicore. Learn More at Lambda World Want to understand the technical details? Sonja Heinze and Carine Morel will present their talk "When magic meets multicore - OCaml and its elegant era of parallelism" at Lambda World, where they'll dive into how this experimental branch works internally. How to Test It Currently, the branch is in its incubation phase. To test it, pin the branch in the switches where you want to experiment: opam pin add https://github.com/ocaml/merlin#merlin-domains Although this experimental branch passes the test suite, your feedback is very important to help collect potential bugs we may have missed. The team has added a Bug/Merlin-domains label to organize tickets related to this branch. What's Next The goal is for this branch to eventually become the main branch, so that all users can benefit from these improvements. The rest of the ecosystem depending on Merlin, including OCaml LSP Server, will be adapted to take full advantage of these new features. We need you! Try out merlin-domains with your real-world OCaml projects and share your experience on the Discuss thread. Your testing and feedback will help shape the future of Merlin!
dlvr.it
October 8, 2025 at 12:35 PM
📢 Yann Hamdaoui just published the second part of his #Topiary tutorial, teaching you how to build a language formatter from scratch. Dive right in and learn how to handle and customize single-line and multi-line layouts. www.tweag.io/blog/2025-10...
Single-line and multi-line formatting with Topiary
The second part of a tutorial on how to quickly write a formatter for a programming language using Topiary, our open-source formatting engine based on Tree-sitter.
www.tweag.io
October 6, 2025 at 8:01 AM
Thanks to everyone for stopping by our booth at PyData Paris! We enjoyed connecting with so many people passionate about data science, machine learning, and open source innovation. We hope to see you again soon!

#PyDataParis
October 3, 2025 at 10:00 AM
Reposted by Tweag by Modus Create
We're back! Mark your calendars: BOBkonf returns on 13 March 2026 …

… and our Call for Contributions is up, with a submission deadline of 17 Nov 2025.

Find out more here:
bobkonf.de/2026/cfc.html
October 2, 2025 at 11:49 AM
ICFP and SPLASH are around the corner, starting on the 12th October in Singapore. This year we're coming with two presentations.
October 2, 2025 at 9:00 AM