Browse all posts by tag

tbdflow-ui: a desktop dashboard built with hica

hica recently got initial package management, and I wanted to build something meaningful to put it to practise. I’ve added examples and working programs to the repo, but I wanted a real showcase using the imgui library. tbdflow was the obvious candidate.

Read more...

Spec-Driven Development and the Return of Big Batch Thinking

Some are calling it “Spec-Driven Development.” Write a detailed specification for a large chunk of system functionality, hand it to an AI agent, and let it generate a working codebase. The argument is that shipping small, vertical slices (define a tiny piece, build it, get feedback, repeat) is too slow for the AI era.

Read more...

Don't trust, instruct and verify

Generic LLMs are bad at niche programming languages. Ask one to write hica code and it invents syntax, uses functions that aren’t in the prelude, or produces Koka with the wrong variable names. It’s never seen hica, so it guesses from whatever looks closest.

Read more...

Building a Lisp in hica

Version 0.29.3 of hica is out and the core is getting pretty stable. I wanted to explore whether hica could be used to write a small Lisp, as a way to stress-test the hica compiler: closures, recursive data structures, lexical scoping, higher-order functions.

Read more...

Test-Driven Development with hica

hica has inline test blocks. They sit right next to your functions: no extra test files, no additional imports and no framework. Run hica test and you’re done, that’s it!

Read more...

Introducing hica: a language that transpiles to Koka

In my post about cloning ls in Koka I mentioned wanting to build a small language that transpiles to Koka. That idea has become hica!

Read more...

Rebuilding GNU ls in Koka

In a previous post, I introduced Koka and why I started porting ls to it. But I never wrote about the actual backstory.

Read more...

A Time Machine for Your Working Directory

In a previous post, I introduced the Intent Log, a way to capture the why alongside the what during development. The Intent Log targets and solves a piece of the comprehension problem. But there’s a related problem it didn’t address: the safety problem.

Read more...

Capturing Intent Before the Commit

In previous posts, I’ve talked about the Comprehension Crisis: the risk that as we move faster, especially with AI agents, we lose the “why” behind our code. A git diff tells you what changed. It says nothing about what was tried and rejected. It’s a record of the result, but it deletes the tries and struggles.

Read more...

Porting Coreutils to Koka

I like to explore different programming languages, and I often try them out but most of them ends up as a “Hello World” in a folder I never reopen, digital fossils of a Saturday afternoon curiosity… My actual day-to-day has been settled for a while: Kotlin when I’m building for the web, Rust when I need a CLI tool. I do think about them a lot, but their syntax, semantics, and functionality don’t tickle me the same way anymore.

Read more...