Tweag
@tweag.io
50 followers 26 following 72 posts
The Open Source Programming Office (OSPO) of Modus Create (https://moduscreate.com/). Improving the craft of software engineering. Web: https://www.tweag.io/ GitHub: https://github.com/tweag/ Discord: https://discord.com/invite/7yg5GxzvDJ
Posts Media Videos Starter Packs
Pinned
tweag.io
Tweag @tweag.io · Mar 6
👋 Bluesky. We're here. Say hello in the replies.
tweag.io
#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
tweag.io
Tweag @tweag.io · 19h
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/
Reposted by Tweag
ocaml.org
OCaml @ocaml.org · 20h
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
tweag.io
📢 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
tweag.io
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
Reposted by Tweag
bobkonf.bsky.social
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
BOB Conference logo: a smiling stick figure face that seems to look over a line, drawn in black lines on a white background. The figurine has three red hairs. The writing right of the image says "BOB Konferenz 2026"
tweag.io
ICFP and SPLASH are around the corner, starting on the 12th October in Singapore. This year we're coming with two presentations.
tweag.io
Tweag @tweag.io · 10d
A bit of casual, yet pleasant news. As of a week ago or so, #Nickel files are now syntax highlighted on Github. Many thanks to contributor extraordinaire Mikhail Katychev, who made the PR to Github's Linguist github.com/github-lingu...
tweag.io
Tweag @tweag.io · 10d
Arbitrating between denser or more explicit code is not easy. Sometimes denser code will be more readable, sometimes less. This account won't make pronouncements about the particulars, though 🙂.
tweag.io
Tweag @tweag.io · 14d
PyData Paris 2025 is only one week away!

Join us for a live talk on October 1 to hear about how the CodeCommons collaboration makes training AI models on code more transparent, sustainable, and fair. 💡

Get your tickets today: pydata.org/paris2025/ti...

#PyDataParis
tweag.io
Tweag @tweag.io · 20d
Alexey Tereshenkov wrote a second blog post on dependency graphs. In this one, he breaks down the issues that you might need to deal with when managing the dependencies of a project at scale. Read to understand the sort of problems build systems engineers face. www.tweag.io/blog/2025-09...
Managing dependency graph in a large codebase
Common issues and best practices managing large dependency graphs
www.tweag.io
tweag.io
Tweag @tweag.io · 20d
It's a good time to re-read Joe Neeman's recent blog post. bsky.app/profile/twea...
tweag.io
Tweag @tweag.io · Jul 11
Publishing crates from a #Rust workspace just got easier, thanks to the newly stabilized workspace-publishing feature that we contributed last year.
Here’s how it works — and how you can use it now (blog post by Joe Neeman): www.tweag.io/blog/2025-07...
Publish all your crates everywhere all at once
A new multi-crate packaging feature for Cargo
www.tweag.io
tweag.io
Tweag @tweag.io · 20d
The stabilisation of `cargo publish --workspace` is front page news today. Rustaceans, we hope it serves you well.
rust-lang.org
Rust 1.90.0 has been released! ✨🦀

This release makes LLD the default linker on x86-64 linux-gnu and adds `cargo publish --workspace` to publish an entire workspace all at once!

Check out the blog post and release notes for more: blog.rust-lang.org/2025/09/18/R...
Announcing Rust 1.90.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
blog.rust-lang.org
Reposted by Tweag
Reposted by Tweag
tacticalgrace.justtesting.org
Great talk! (I saw it live at #MuniHac a few hours ago.) If you care about programming-in-the-large, definitely watch it!
sperbsen.bsky.social
The good folks at #MuniHac have already put up the video of my keynote “Six Years of FUNAR – Teaching Software Architecture and Haskell to the Uninitiated”!
www.youtube.com/watch?v=WRoY...
MuniHac 2025 - Sunday, September 14th - Mike Sperber: Six Years of FUNAR
YouTube video by TNG Technology Consulting GmbH
www.youtube.com
tweag.io
Tweag @tweag.io · 23d
Everything is broken. That's because programming is such a recent discipline. And it means there's so much more to invent, isn't it beautiful?
tweag.io
Tweag @tweag.io · 27d
Google Summer of Code #gsoc blog post! Read Xavier Góngora's tour of his project to bring #LiquidHaskell a step closer to large code bases www.tweag.io/blog/2025-09...
Qualified Imports and Alias Resolution in Liquid Haskell
The story of how I implemented qualified aliases in Liquid Haskell
www.tweag.io
Reposted by Tweag