I often use the ... keyword. However, due to sharing the dot with the method call syntax, in many places it's a parse error:
main! = |args| {
_ = args
...
}
Putting it in parentheses helps:
main! = |args| {
_ = args
(...)
}
but its too complicated, compared to a todo:
main! = |args| {
_ = args
todo
}
Given that it's a construct that developers quickly use while writing the code, and not meant to be persisted, I think it would be simpler to use todo.
Another argument for todo: it's greppable, and shows up alongside the comment todos.
Also, quick in-editor searches for ... need actually a \.\.\., because some editors (including Helix and Flow) default to regex search on the / hotkey.
It's made worse by some keyboard layouts needing a modifier key for backslash.
For example, Hungarian layout requires AltGr+q, so to search for a ... it requires
AltGr+q . AltGr+q . AltGr+q .
9 keyboard strokes, of which 6 are combination pairs, which are slower because having to wait with the AltGr release until the q is pressed.
Compared to a todo keyword: 4 keystrokes, no combinations.
And even on the English layout, the dot and the backslash are both on the same hand (the two weakest fingers), compared to todo, which is alternated hands.
These matter a lot, since this keyword is mostly used when writing the code by hand.
I like todo. I also think it's more explicit: I didn't know that ... meant To-Do, so I would have been confused by code containing it, whereas todo leaves no room for confusion. It's another language keyword though. crash "todo" is also pretty clear and not too long to type. So maybe we should just drop ...?
I didn't know that
...meant To-Do, so I would have been confused by code containing it
Yes, todo is also better understandable for newcomers and also for LLMs with insufficient training data.
crash "todo"is also pretty clear and not too long to type.
It's too long, when I just want to quickly get rid of some error. And the " character requires Shift key, twice in the expression.
Gleam has todo and it's great.
Yeah, I'd prefer todo too. :+1:
The intent for the dots was documentation, I dont think we talked about using it like a todo
At least that is my fuzzy memory of it
Interesting! Perhaps the docs generator could replace the todo keyword with ...?
@Richard Feldman, do you have opinions on this?
I think we should just make it not be a parse error in those places :smile:
The parse error is just one reason out of many.
But I added a Helix macro for inserting crash "TODO" with a single keypress, and it's not so bad.
Last updated: Oct 15 2026 at 17:56 UTC