Blog
Claude Code: From Agent to Useful Tool
The main point of the article is that Claude Code needs engineering around it just as much as any other development tool. On its own, the agent can write code and run commands, but it quickly runs into the usual problems: missing context, repeated mistakes, unsafe decisions, and fragile fixes. A better setup gives it project rules, current documentation, MCP access, reusable skills, hooks, task trackers, Git safety nets, and clear session workflows. With these pieces in place, Claude Code can handle implementation, investigation, and verification more reliably, while the developer still owns architecture, review, and product judgment. The result is not an autonomous engineer, but a practical tool that works best when its context and workflow are engineered deliberately.

Article by Kirill Dukhanin
June 22nd, 2026
19 min read
Upstream posts
How Serokell Contributes to the Future of Haskell
Over the past years, Serokell has worked on several parts of the Haskell ecosystem: GHC development, language proposals, Dependent Haskell, developer tooling, and education. In this article, we’ll go through the main contributions and explain why they matter.
Rust, C++, and the Tradeoffs Behind Safe Low-Level Code: interview with Nikita Lisitsa
In this post, we interview Nikita Lisitsa about C++, Rust, systems programming, and game development.
We discuss whether C++ is still the default path into systems programming, where Rust fits in, and how both languages may coexist over the next decade. Nikita also shares his perspective on memory safety, language complexity, game engine design, real-time physics simulations, renderer abstractions, and the lessons he learned from shipping Costa Verde.

Article by Fedor Logachev
June 8th, 2026
11 min read
Serokell’s Work on GHC: Dependent Types, Part 5
This article continues the fine tradition of Serokell's GHC team sharing their progress on bringing dependent types to Haskell. A lot has happened since the last report, and there is plenty to cover.
In this edition, Vladislav Zavialov presents three major contributions and a host of smaller improvements that push Dependent Haskell closer to becoming a practical reality.
The Hidden Perils of MonadBaseControl
MonadBaseControl
is notoriously tricky to use correctly. It’s really easy to misuse and
end up introducing subtle unexpected behaviour or downright bugs, even
in the hands of the more experienced de…
Rust in Production: JetBrains
In our Rust in Production interview series, we talk with developers and technical leaders who are shaping how Rust is built and used in practice..
Beyond the Hype: Crossing the GenAI Divide in Real-World Business
If you judged the state of AI in business by your LinkedIn feed, you’d think the revolution already happened..
Editor’s pick
Design Patterns for Long-Term Memory in LLM-Powered Architectures
The explosive growth of large language models (LLMs) has reshaped the AI landscape. Yet their core design is still fundamentally stateless: a drawback often referred to as “conversational amnesia.” …
Upstream posts
The Real Limits of AI Agents in 2025
TL;DR: Everyone says 2025 is the year of autonomous AI agents. We’ve built a lot of them in production, and that’s exactly why we think most of the current hype just doesn’t add up. In this post, we'll break down the most common misconceptions, talk about what actually works in the real world, and explain why the math and economics behind the hype don’t hold up yet.
Reviving an Old iMac with NixOS
People have been using computers for decades. Information technology advances by leaps and bounds. As a result, yesterday’s new, powerful machines quickly become today’s obsolete hardware, gatherin…
Haskell in Production: Scrive
In our Haskell in Production series, we interview developers and technical leaders from companies that use Haskell for real-world tasks. We cover benefits, downsides, common pitfalls, and tips for b…
A Bit Late but Ultimate Analysis: DeepSeek
tldr: if you want to find out everything about deepseek you can read this blogpost that has 3 separate sections with increasing technical details and difficulty from one to another, so you can stop …
Rust is Not a Functional Language
We at Serokell love Rust. We also love functional languages like Haskell and OCaml. However, there appears to be a bit of confusion as to whether Rust can be called a functional language, too.
A Guide to Kalman Filter
In this article, we’ll make a few notes on how Kalman filter works, and will show how to overcome most common problems that might appear while using it.
Thanks for visiting the Serokell blog.
Serokell is a multinational team of programmers, joined by love towards functional languages. Science and education are among the core values of Serokell. Our blog is a place for our specialists to talk about things that matter to them. Stay tuned to read more about pioneering research and practical applications of functional programming, mathematics, artificial intelligence, and computer science.
.png)
.png)
.png)
.png)
.jpg)

.png)

